package com.pxst.internalReports.resp;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author Txd
 * @since 2023-09-19 10:41:12
 */
@Data
@ApiModel(description = "返回前端的账户列表的查询数据")
public class AccountListResp {

    @ApiModelProperty(value = "系统银行卡ID")
    private Long bankCardId;

    @ApiModelProperty(value = "银行卡群ID")
    private Long bankCardGroupId;

    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "装置名称")
    private String mobileName;

    @ApiModelProperty(value = "类型 1.FI 2.FO 3.FX 4.TR BS200")
    private Integer bankCardType;

    @ApiModelProperty(value = "类型名称")
    private String bankCardTypeName;

    public void setBankCardType(Integer bankCardType) {
        this.bankCardType = bankCardType;
        switch (bankCardType){
            case 1:
                setBankCardTypeName("FI");
                break;
            case 2:
                setBankCardTypeName("FO");
                break;
            case 3:
                setBankCardTypeName("FX");
                break;
            case 4:
                setBankCardTypeName("TR");
                break;
        }
    }

    @ApiModelProperty(value = "银行编码")
    private String bankCode;

    private Boolean isSuspended;

    @ApiModelProperty(value = "存款上限_日流水上限 (入)")
    private BigDecimal dayDepositMax;

    @ApiModelProperty(value = "账户余额")
    private BigDecimal balance;

    @ApiModelProperty(value = "账户余额_讯银")
    private BigDecimal xyBalance;

    @ApiModelProperty(value = "预留余额")
    private BigDecimal reservedBalance;

    @ApiModelProperty(value = "账户余额_实际")
    private Float realBalance;

    @ApiModelProperty(value = "账户码")
    private String accountCode;

    @ApiModelProperty(value = "账户名称")
    private String accountRemark;

    @ApiModelProperty(value = "日流水上限 (出)")
    private BigDecimal dayStreamOutMax;

    @ApiModelProperty(value = "日剩余额度 (出)")
    private Float dailyRemainingFromLimit;

    @ApiModelProperty(value = "日剩余额度 (入)")
    private Float dailyRemainingToLimit;

    @ApiModelProperty(value = "月流水上限 (出)")
    private BigDecimal monthStreamOutMax;

    @ApiModelProperty(value = "月剩余额度 (出)")
    private Float monthlyRemainingFromLimit;

    @ApiModelProperty(value = "月剩余额度 (入)")
    private Float monthlyRemainingToLimit;

    @ApiModelProperty(value = "月次數最大 (入+出)")
    private Integer monthThresholdMax;

    @ApiModelProperty(value = "月剩余次数 (入+出)")
    private Integer remainingNumberOfTimes;

    @ApiModelProperty(value = "日剩余次數 (入+出)")
    private Integer dRemainingNumberOfTimes;

    @ApiModelProperty(value = "最大内转")
    private BigDecimal trMax;

    @ApiModelProperty(value = "最小内转")
    private BigDecimal trMin;

    private Boolean useAble4a;

}
